package com.scrx.ymg.service.agent;

import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.scrx.ymg.entity.AgentHot;
import com.scrx.ymg.entity.AgentInfo;
import com.scrx.ymg.entity.AgentMoney;
import com.scrx.ymg.entity.AgentSuperMarketSet;
import com.scrx.ymg.entity.OtherInfo;
import com.scrx.ymg.entity.SuperMarketInfo;
import com.scrx.ymg.entity.UserComplain;

public interface IAgentService {
         
	
    

	/**
	 * 添加爆款
	 * @param hot
	 * @return
	 */
	public String saveAgentHot(AgentHot hot);
    /**
     * 删除爆款
     * @param hotId
     * @return
     */
	public String deleteHotProduct(int hotId);
	
	/**
	 * 跟新超市信息,重置超市信息
	 * @param superInfo
	 * @param agentId
	 * @param liveAction
	 * @param license
	 * @param deliver
	 * @param card
	 * @return
	 */
	public String updateSuperMarket(SuperMarketInfo superInfo, Integer agentId, MultipartFile liveAction,
			MultipartFile license, MultipartFile deliver, MultipartFile card);
	
	
	
    /**
     * 查询爆款
     * @param hot
     * @return
     */
	public Map<Object, Object> getHotProduct(AgentHot hot,int pageNum,int pageCount);
    
	/**
	 * 添加爆款
	 * @param hot
	 * @param thumbnail
	 * @param banner
	 * @return
	 */
	public String saveAgentHot(AgentHot hot, MultipartFile thumbnail, MultipartFile banner,MultipartFile bigpicFile,MultipartFile hotDetailFile);
     
	/**
	 * 创建超市
	 * @param superInfo
	 * @param agentId
	 * @param liveAction
	 * @param license
	 * @param deliver
	 * @param card
	 * @return
	 */
	public String createSuperMarket(SuperMarketInfo superInfo, Integer agentId, MultipartFile liveAction,
			MultipartFile license, MultipartFile deliver, MultipartFile card);
	
	/**
	 * 代理商查询超市开店设置
	 * @param agentId
	 * @param pageNum
	 * @param pageCount
	 * @return
	 */
	public Map<Object, Object> getSuperMarketSetinfo(AgentSuperMarketSet set, int pageNum, int pageCount);
	
	/**
	 * 更新超市爆款
	 * @param hot
	 * @param thumbnail
	 * @param banner
	 * @return
	 */
	public String updateAgentHot(AgentHot hot, MultipartFile thumbnail, MultipartFile banner,MultipartFile bigpicFile,MultipartFile hotDetailFile);
	
	/**
	 * 
	 * @param set
	 * @return
	 */
	public String agreeOrNotSuperMarketSet(AgentSuperMarketSet set);
	
	/**
	 * 得到超市集合
	 * @param account
	 * @return
	 */
	public Map<Object, Object> getSuperMarketInfoList(SuperMarketInfo info,int pageNum,int pageCount);
	
	/**
	 * 得到代理商营业额
	 * @param agentId
	 * @return
	 */
	public AgentMoney getAgentMoneyInfo(int agentId);
	
	/**
	 * 代理商查询超市投诉
	 * @param complain
	 * @param pageNum
	 * @param pageCount
	 * @return
	 */
	public Map<Object, Object> getUserComplaint(UserComplain complain,String startTime,String endTime, int pageNum, int pageCount);
	
	/**
	 * 代理商统计超市集合
	 * @param info
	 * @param pageNum
	 * @param pageCount
	 * @return
	 */
	public Map<Object, Object> statisticsSuperMarketInfo(SuperMarketInfo info, int pageNum, int pageCount);
	
	/**
	 * 添加代理商
	 * @param info
	 * @return
	 */
	public String addAgentInfo(AgentInfo info);
	
	/**
	 * 得到代理商
	 * @param agentId
	 * @return
	 */
	public AgentInfo getAgentInfo(int agentId);
	
	
	/**
	 * 查询代理商
	 * @param info
	 * @param pageNum
	 * @param pageCount
	 * @return
	 */
	public Map<Object, Object> selectAgentInfoList(AgentInfo info, int pageNum, int pageCount);
	
	/**
	 * 恢复,冻结代理商
	 * @param info
	 * @return
	 */
	public String changeStatusAgentInfo(AgentInfo info);
	
	
	/**
	 * 总部查询爆款
	 * @param hot
	 * @param pageNum
	 * @param pageCount
	 * @param agentRegion
	 * @return
	 */
	public Map<Object, Object> getHotProduct(AgentHot hot, int pageNum, int pageCount, String agentRegion);
	
	
	/**
	 * 新增异业商家
	 * @param info
	 * @param sjsj
	 * @param yyzz
	 * @param htxy
	 * @param card
	 * @return
	 */
	public String insertOtherInfo(OtherInfo info, MultipartFile sjsj, MultipartFile yyzz, MultipartFile htxy,
			MultipartFile card);
	
	/**
	 * 修改异业商家
	 * @param info
	 * @return
	 */
	public String updateOtherInfo(OtherInfo info);
	
	/**
	 * 根据邮编查询
	 * @param agentRegion
	 * @return
	 */
	public AgentInfo getAgentInfoByagentRegion(String agentRegion);
	/**
	 * 根据邮编和状态查询
	 * @param agentRegion
	 * @return
	 */
	public AgentInfo getAgentInfoByagentRegionAndStatus(String agentRegion);
	
	/**
	 * 恢复代理商
	 * @param info
	 * @param uUID
	 * @return
	 */
	public String updateAgentInfo(AgentInfo info, String uUID);
	
	/**
	 * 上下架爆款
	 * @param hotId
	 * @param putaway
	 * @return
	 */
	public String putawayHotProduct(int hotId, int putaway);
	
}
